package com.smart.village.big.screen.service;

import com.alibaba.fastjson.JSONObject;
import com.smart.village.big.screen.domain.PartyMembersAssistance;
import com.smart.village.big.screen.domain.PartyOrganizationActivitiesStaticVo;

import java.util.List;

public interface PartyOrganizationActivityService {
    JSONObject getPartyOrganizationActivityList(String formatDate, String organizationSerialNumber, List<String> activityTypeList, String partyOrganizationType);

    JSONObject getTwoContactTwoReport(String formatDate, String partyOrganizationSerialNumber, List<String> activityTypeList);

    JSONObject getEarlyWarning(String formatDate, String partyOrganizationSerialNumber, List<String> activityTypeList);

    JSONObject getMicroPartyOrganizationActivityListByStatus(String formatDate, String partyOrganizationSerialNumber, List<String> activityTypeList, String activityStatus, String partyOrganizationType, int pageNum, int pageSize);

    JSONObject getMicroPartyOrganizationActivitiesUploadList(
            String formatDate,
            String partyOrganizationSerialNumber,
            List<String> activityTypeList,
            String uploadStatus,
            String partyOrganizationType,
            String phone,
            int pageNum,
            int pageSize
    );

    List<JSONObject> getMicroPartyOrganizationActivitiesUploadDetail(String phone, String partyOrganizationActivitySerialNumber);

    List<JSONObject> getPartyOrganizationActivitiesUploadDetail(String partyOrganizationActivitySerialNumber);

    PartyOrganizationActivitiesStaticVo getMicroPartyOrganizationActivitiesStaticVoDetail(String partyOrganizationActivitySerialNumber);

    JSONObject getMicroTwoContactTwoReport(String formatDate, String partyOrganizationSerialNumber, List<String> activityTypeList, String activityStatus, String iDCardNumber, String 支部, int pageNum, int pageSize);

    JSONObject getMicroOrgTask(String type, String iDCardNumber,
                               String status,String year,
                               int pageNum,
                               int pageSize);

    int microActivitySignUp(String partyOrganizationActivitySerialNumber, String iDCardNumber);

    PartyMembersAssistance getMicroOrgTaskDetail(String type, String id);

    JSONObject getMicroAssistanceLog(String assistanceSerialNumber,
                                     int pageNum,
                                     int pageSize);

    JSONObject getMicroAssistanceReturn(String assistanceLogSerialNumber,
                                        int pageNum,
                                        int pageSize);

    JSONObject getWorkTeams(String iDCardNumber,String workTeamSerialNumber);

    JSONObject getWorkTeamsLogs(String yearMonth, String iDCardNumber, String workTeamSerialNumber);

    JSONObject getMicroManagerWorkTeamsList(String partyOrganizationSerialNumber,
                                            String search,
                                            int pageNum,
                                            int pageSize);

    JSONObject getMicroManagerWorkTeamsDetail(String workTeamSerialNumber);

    JSONObject getMicroManagerPartyOrganizationActivityList(
            String search,String partyOrganizationSerialNumber,
            List<String> activityTypeList,
            String activityStatus,
            String partyOrganizationType,
            String phone,
            int pageNum,
            int pageSize);

    JSONObject getMicroManagerOrgTask(String search, String type, String partyOrganizationSerialNumber,String phone, String status, int pageNum, int pageSize);

    JSONObject getRandomPhoto(String iDCardNumber,String status ,int pageNum,int pageSize);

    JSONObject getRandomPhotoDetail(String complaintId);

    JSONObject getMicroPartyOrganizationActivitiesCheckDetail(String partyOrganizationActivitySerialNumber);

    List<JSONObject> getMicroOrgTaskTypeList();

    JSONObject getActivityPoints(String iDCardNumber, int pageNum, int pageSize);

    List<JSONObject> getWorkTeamMember(String iDCardNumber, String workTeamSerialNumber);
}
